package com.jiulong.common.utils;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;

import org.jdom.JDOMException;

import com.alibaba.fastjson.JSONObject;


public class HttpUtil {

	//private static final Log logger = Logs.get();
	private final static int CONNECT_TIMEOUT = 5000; // in milliseconds
    private final static String DEFAULT_ENCODING = "UTF-8";
    
    public static void main(String[] args) throws JDOMException, IOException {
    	
    	
    	String code="061guN4l1UoLfi0BWO1l108t4l1guN4t";
    	String urlStr="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx5724e829db23955a&secret=0b23be4dc38ae1b1d37efc4cd488c685&code="+code+"&grant_type=authorization_code";
    	System.out.println(urlStr);	
        String resXml = HttpUtil.postData(urlStr, null);
        System.out.println("返回xml：：：："+resXml);
		//String urlStr="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx5724e829db23955a&secret=0b23be4dc38ae1b1d37efc4cd488c685&code=011pCpyz1JjfAe0C6Jwz1Upvyz1pCpyh&grant_type=authorization_code";
		//String test ="{"access_token":"PoCvKVoJsCNZsnpfAs4o8iC6tIV2HMDYAzFjQsT1HbYXKl1lpyXpMA3Xa6c2vr3e6VBVvXJCBzvgNwCD9tURj2Yp2VHbajtVwaMRpO-jDJ8","expires_in":7200,"refresh_token":"9kJ76ABbt58dr9k295FIM2M78vEG8JNzii3V-gI5FsRLSCvPPVqpfy7ug5TBhor1BIp4TiYO71hWN1zn5FMLnNhWHwB-B63DYTNoBFUJRXo","openid":"ohx_wwiIXSM7yFNDcaLymiMeIh8o","scope":"snsapi_userinfo"}"

        JSONObject j=JSONObject.parseObject(resXml);
        
        String openid=(String) j.get("openid");
        System.out.println(openid);
        System.out.println(j);
        System.out.println(j.get("errcode"));
        
        
        

	}
    
    
    public static String postData(String urlStr, String data){
        return postData(urlStr, data, null);
    }
    
	public static String postData(String urlStr, String data, String contentType){
		BufferedReader reader = null;
        try {
            URL url = new URL(urlStr);
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);
            conn.setConnectTimeout(CONNECT_TIMEOUT);
            conn.setReadTimeout(CONNECT_TIMEOUT);
            if(contentType != null)
                conn.setRequestProperty("content-type", contentType);
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream(), DEFAULT_ENCODING);
            if(data == null)
                data = "";
            writer.write(data); 
            writer.flush();
            writer.close();  

            reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), DEFAULT_ENCODING));
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line);
                sb.append("\r\n");
            }
            return sb.toString();
        } catch (IOException e) {
            //logger.error("Error connecting to " + urlStr + ": " + e.getMessage());
        	System.out.println("Error connecting to " + urlStr + ": " + e.getMessage());
        } finally {
            try {
                if (reader != null)
                    reader.close();
            } catch (IOException e) {
            }
        }
        return null;
    }


}
